﻿using BLL;
using IBLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MyProject.Controllers
{
    public class DemoController : Controller
    {
        public IUserInfoService _userInfoService { get; set; }
        public IArticleService _articleService { get; set; }
        public IUserAndArticleService _userAndArticleService { get; set; }

        public DemoController()
        {
        }
        public DemoController(IUserInfoService userInfoService)
        {
            _userInfoService = userInfoService;
        }

        // GET: Demo
        public ActionResult Index()
        {
            return View(_userInfoService.LoadEntities(u => true).ToList());
        }

        public ActionResult Create()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Create(UserInfo userInfo)
        {
            _userInfoService.Add(userInfo);
            return RedirectToAction("Index");
        }

        public ActionResult Test(int Id)
        {
            //EF笔记
            //增: 给Model的Id随意赋值都没关系，都是新增一条数据。SQL不可为Null字段如果Model中未赋值执行savaChangge报错（需前后端检验）
            //改：Id不存在(已删)或者Null直接报错（实现按需更新）
            //删：Id不存在(已删)或者Null直接报错
            //查询：查询出来的实体（默认就被EF所跟踪，就是修改属性值，在savachanges（）也就修改到sql中）
            //问题: join查询 分页等


            return View();
        }
    }
}